Infinite loop হলো এমন একটি লুপ যা নির্দিষ্ট কোনো শর্তের মাধ্যমে কখনো থামে না এবং বারবার চলতে থাকে। Arduino প্রোগ্রামিংয়ে সাধারণত loop()
ফাংশন নিজেই একটি infinite loop হিসেবে কাজ করে, কারণ এটি বোর্ডের কার্যক্রমকে অবিরাম চালিয়ে যেতে সাহায্য করে। তবে অন্যান্য লুপ যেমন while()
বা for()
ব্যবহার করেও infinite loop তৈরি করা যায়।
প্রোগ্রামিংয়ে infinite loop তৈরি করা খুব সহজ। এটি সাধারণত তখন ব্যবহার করা হয় যখন একটি নির্দিষ্ট কার্যক্রম অবিরাম চলতে হবে বা নিয়মিত পুনরাবৃত্তি করতে হবে।
উদাহরণ: while loop ব্যবহার করে:
while (true) {
// এখানে কোড অবিরামভাবে চলতে থাকবে
Serial.println("This is an infinite loop.");
}
উদাহরণ: for loop ব্যবহার করে:
for (;;) {
// এটি একটি infinite loop যা কখনো থামবে না
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
Arduino প্রোগ্রামিংয়ে infinite loop বিভিন্ন পরিস্থিতিতে ব্যবহৃত হতে পারে, যেমন:
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // LED পিনকে আউটপুট হিসেবে সেট করা
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // LED অন করা
delay(1000); // ১ সেকেন্ড অপেক্ষা
digitalWrite(LED_BUILTIN, LOW); // LED অফ করা
delay(1000); // ১ সেকেন্ড অপেক্ষা
}
এই উদাহরণে loop()
ফাংশনটি স্বয়ংক্রিয়ভাবে একটি infinite loop হিসেবে কাজ করে এবং LED বারবার জ্বলে এবং নিভে।
যদিও infinite loop সাধারণত থামানো হয় না, তবুও কিছু ক্ষেত্রে এটি বন্ধ করার জন্য নির্দিষ্ট শর্ত যোগ করা যায়।
উদাহরণ: নির্দিষ্ট শর্ত দিয়ে:
bool stopLoop = false;
void loop() {
while (!stopLoop) {
Serial.println("Running...");
if (Serial.available()) {
char input = Serial.read();
if (input == 'x') {
stopLoop = true; // 'x' প্রেস করলে লুপ থেমে যাবে
}
}
}
}
delay()
) ব্যবহার করা হয়, তবে এটি প্রোগ্রামের অন্য কার্যক্রমকে ব্লক করতে পারে। এ অবস্থায় non-blocking কোড লেখা উচিত।break
স্টেটমেন্ট ব্যবহার করুন: প্রয়োজন হলে লুপ থেকে বের হতে break
স্টেটমেন্ট ব্যবহার করা যেতে পারে।Infinite loop Arduino প্রোগ্রামিংয়ে শক্তিশালী এবং কার্যকর একটি কৌশল। এটি বোর্ডের নিরবচ্ছিন্ন কার্যক্রম নিশ্চিত করতে সাহায্য করে এবং বিভিন্ন প্রজেক্টে ব্যবহারকারীদের বিভিন্ন সুবিধা প্রদান করে।
common.read_more